package com.tengju.bff.interfaces.covercharge.entity.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * @author liang_shi
 * @date 2020/7/15 10:39
 * @description
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("w_service_contract")
public class ServiceContract implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;


    /**
     * 代理id
     */
    @TableField("contract_id")
    private String contractId;


    /**
     * 合同文件编号
     */
    @TableField("file_id")
    private String fileId;

    /**
     * 合同标题
     */
    @TableField("title")
    private String title;

    /**
     * 合同的发送时间
     */
    @TableField("send_time")
    private Date sendTime;


    /**
     * 合同的完成时间
     */
    @TableField("finish_time")
    private Date finishTime;

    /**
     * 合同签署者account集合
     */
    @TableField("signers")
    private String signers;

    /**
     * 合同归属开发者ID
     */
    @TableField("developer_id")
    private String developerId;

    /**
     * 合同有效开始时间
     */
    @TableField("begin_date")
    private Date beginDate;

    /**
     * 合同到期时间
     */
    @TableField("expire_date")
    private Date expireDate;

    /**
     * 创建者的id
     */
    @TableField("user_id")
    private String userId;

    /**
     * 签署状态 1、签署中 2、签署成功 3、锁定合同失败 4 签署合同取消 5 合同过期	9 未知
     */
    @TableField("status")
    private String status;


    /**
     * 错误码
     */
    @TableField("error_code")
    private String errorCode;

    /**
     * 错误描述
     */
    @TableField("message")
    private String message;


    @TableField("create_time")
    private Date createTime;

    @TableField("update_time")
    private Date updateTime;

}
